package com.icinfo.cloud.provider.punish.service;

import com.icinfo.cloud.provider.punish.dto.SimpleCaseSaveDto;
import com.icinfo.cloud.provider.punish.dto.SimpleCaseSaveOfAppDto;
import com.icinfo.cloud.provider.punish.vo.*;

import java.util.List;

/**
 * @Description  简易处罚API对应的Service接口
 * @Author zhengqiang
 * @Date 2022/7/20 14:29
 **/
public interface ISimpleCaseApiService {

    /**
     * 描述： 校验单位配置
     *
     * @author: zhengqiang
     * @date: 2022/7/21
     * @param: orgCode
     * @return {@link boolean}
     **/
    boolean checkSysDepartParam(String orgCode);

    /**
     * 描述： 保存简易处罚数据
     *
     * @author: zhengqiang
     * @date: 2022/7/18
     * @param: saveDto
     * @return {@link SimpleCaseSaveVo}
     **/
    SimpleCaseSaveVo saveSimpleCaseInfo(SimpleCaseSaveDto saveDto);

    /**
     * 描述： 查询简易处罚文书
     *
     * @author: zhengqiang
     * @date: 2022/7/18
     * @param: caseId
     * @return {@link List< SimpleCaseDocVo>}
     **/
    List<SimpleCaseDocVo> saveSimpleCaseDoc(String caseId);

    /**
     * 描述： 生成简易处罚文书
     *
     * @author: zhengqiang
     * @date: 2022/9/7
     * @param: caseId
     * @return
     **/
    void dealSimpleCaseDocumentRecords(String caseId);

    /**
     * 描述： 外部系统立案暂存
     *
     * @author: zhengqiang
     * @date: 2022/8/15
     * @param: saveDto
     * @return {@link int}
     **/
    int saveSimpleCaseTemporary(SimpleCaseSaveOfAppDto saveDto);

    /**
     * 删除简易处罚异常暂存数据
     */
    void dealTemporaryCaseData();
}
